package com.harmony.pilot.common.constants;

/**
 * 服务常量
 */
public class ServiceConstants {
    
    // 服务名称
    public static final String GATEWAY = "gateway";
    public static final String CODE_COMPLETION_SERVICE = "code-completion-service";
    public static final String CODE_GENERATION_SERVICE = "code-generation-service";
    public static final String CODE_ANALYSIS_SERVICE = "code-analysis-service";
    public static final String LLM_SERVICE = "llm-service";
    public static final String DATA_SERVICE = "data-service";
    public static final String BUILD_SERVICE = "build-service";
    
    // 语言类型
    public static final String LANG_CPP = "cpp";
    public static final String LANG_C = "c";
    public static final String LANG_GN = "gn";
    
    // 完成类型
    public static final String KIND_FUNCTION = "function";
    public static final String KIND_CLASS = "class";
    public static final String KIND_VARIABLE = "variable";
    public static final String KIND_KEYWORD = "keyword";
    public static final String KIND_SNIPPET = "snippet";
    public static final String KIND_METHOD = "method";
    public static final String KIND_FIELD = "field";
    public static final String KIND_NAMESPACE = "namespace";
    
    // 分析类型
    public static final String ANALYSIS_SYNTAX = "syntax";
    public static final String ANALYSIS_STYLE = "style";
    public static final String ANALYSIS_SECURITY = "security";
    public static final String ANALYSIS_PERFORMANCE = "performance";
    
    // 严重级别
    public static final String SEVERITY_ERROR = "error";
    public static final String SEVERITY_WARNING = "warning";
    public static final String SEVERITY_INFO = "info";
    public static final String SEVERITY_HINT = "hint";
    
    // LLM提供商
    public static final String LLM_PROVIDER_OPENAI = "openai";
    public static final String LLM_PROVIDER_HUAWEI = "huawei";
    public static final String LLM_PROVIDER_CUSTOM = "custom";
    
    // 缓存Key前缀
    public static final String CACHE_COMPLETION = "completion:";
    public static final String CACHE_GENERATION = "generation:";
    public static final String CACHE_ANALYSIS = "analysis:";
    public static final String CACHE_LLM = "llm:";
    
    private ServiceConstants() {
        throw new IllegalStateException("Constants class");
    }
}

